package com.itheima.tlias.converter;

import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.converters.ReadConverterContext;
import com.alibaba.excel.converters.WriteConverterContext;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.data.WriteCellData;

public class IsCollegeConverter implements Converter<Integer> {

    @Override
    public Class<?> supportJavaTypeKey() {
        // 支持的 Java 类型是 Integer
        return Integer.class;
    }

    @Override
    public CellDataTypeEnum supportExcelTypeKey() {
        // 支持的 Excel 类型是字符串
        return CellDataTypeEnum.STRING;
    }

    /**
     * 读取 Excel 数据时调用
     */
    @Override
    public Integer convertToJavaData(ReadConverterContext<?> context) {
        // 获取单元格中的字符串值

        String isCollege = context.getReadCellData().getStringValue();
        if ("是".equals(isCollege)) {
            return 1; // "是" 转换为 1
        } else if ("否".equals(isCollege)) {
            return 0; // "否" 转换为 2
        }
        return null;
    }

    /**
     * 写入 Excel 数据时调用
     */
    @Override
    public WriteCellData<?> convertToExcelData(WriteConverterContext<Integer> context) {
        // 获取 Java 对象中的值
        Integer isCollege = context.getValue();
        if (isCollege == 1) {
            return new WriteCellData<>("是"); // 1 转换为 "是"
        } else if (isCollege == 0) {
            return new WriteCellData<>("否"); // 0 转换为 "否"
        }
        return new WriteCellData<>("未知");
    }
}